home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
smaltalk
/
stv.lha
/
STV
/
st_v
/
util
/
STVUTIL7.ZIP
/
WIN31.TXT
< prev
next >
Wrap
Text File
|
1993-02-07
|
5KB
|
135 lines
Changes and fixes to Smalltalk/V Windows 1.1 to run under Windows 3.1
===========================================================================
1. When switching between or closing a window with cetain control panes a
"DC not released" walkback will come up. This is most noticable when
switching from or closing the Control Demo window.
The following is the fix for this problem.
!ControlPane methods !
drawControl: aDrawStruct
"Private - Process a request to draw a user
drawn control item."
|oldDC|
aDrawStruct itemId = 65535
ifTrue: [ ^nil ].
oldDC := graphicsTool privateHandle.
graphicsTool "set up pen"
setHandle: ( aDrawStruct hDC ).
aDrawStruct itemAction = OdaDrawentire
ifTrue: [
self drawItem: aDrawStruct.
aDrawStruct itemState = OdsSelected
ifTrue: [ self highlight: aDrawStruct ]]
ifFalse: [
aDrawStruct itemAction = OdaFocus
ifTrue: [ self drawFocus: aDrawStruct ]
ifFalse: [aDrawStruct itemAction = OdaSelect
ifTrue: [ self highlight: aDrawStruct ]]].
self graphicsTool handle: oldDC.
^1! !
---------------------------------------------------------------------------
2. In the Debug version of Windows, breaks (debug messages) will occur
while closing windows. This problem will not be visible for people using
regular version of Windows.
The following is the fix for this problem.
!Window methods !
close
"Private - Close the window."
|aHandle|
self stopReceivingMessages.
(graphicsTool isKindOf: GraphicsTool) ifTrue: [
graphicsTool destroy.
graphicsTool := nil].
aHandle := handle propertyAt: 'oldProc'.
"save old proc address handle to be released
after closing whole window"
children size > 0 ifTrue: [
children do: [:subpane | subpane close]].
self destroy.
aHandle = 0 ifFalse:[
KernelLibrary globalUnlock: aHandle.
KernelLibrary globalFree: aHandle]! !
!ApplicationWindow methods !
closeView
"Close the receiver and all its children."
| inner |
handle = NullHandle ifTrue: [^self]. "already closed"
inner := OrderedCollection new.
Notifier windows do: [:w|
((w == self) not and: [
(w isKindOf: ApplicationWindow) and: [
UserLibrary isChild: handle child: w handle]])
ifTrue: [inner add: w]].
inner do: [:w| w textModified ifTrue: [^nil] ifFalse:
[w clearTextModified]].
inner do: [:w| w close].
self textModified ifTrue: [^nil].
self hideWindow.
menuWindow close.
super close.
super initialize.! !
---------------------------------------------------------------------------
3. TrueType fonts can not be selected in VWin 1.1. The next release of
VWIN will resolve this problem.
---------------------------------------------------------------------------
4. In the debug version of Windows, breaks (debug messages) will occur
while starting up Smalltalk. This problem will not be visible for
people using the regular version of Windows.
There is no Smalltalk fix for this problem. The fix is in the Virtual
machine of the next VWIN release.
---------------------------------------------------------------------------
5. The bytes within WinLong were being accessed improperly.
The following is a fix for this problem.
!WinLong methods !
highHalf
"Private - Answer the high half word."
^self uShortAtOffset: 2!
highHalf: anInteger
"Private - Set the high half word."
self uShortAtOffset: 2 put: anInteger!
lowHalf
"Private - Answer the low half word."
^self uShortAtOffset: 0!
lowHalf: anInteger
"Private - Set the low half word."
self uShortAtOffset: 0 put: anInteger! !
---------------------------------------------------------------------------
6. It is possible to receive "Out of Memory" errors when running VWIN 1.1
under Windows 3.1 on AT-class machines ( 80286 CPU based machines). For
example, on a typical AT machine with 4 megabytes of memory, running the
Puzzle15 demo program will result in "Out of Memory" messages from Windows
in under five minutes. User should upgrade to VWIN 2.0, or run on PCs
equipped with 80386 CPUs (or better).
---------------------------------------------------------------------------